package com.artPreter.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.artPreter.pojo.Artwork;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 * 艺术品表 服务类
 * </p>
 *
 * @author jarvis
 * @since 2024-11-14
 */
public interface IArtworkService extends IService<Artwork> {

    /**
     * 艺术品分页
     * @param currentPage
     * @param size
     * @param artwork
     * @return
     */
    IPage<Artwork> getPage(Integer currentPage, Integer size, Artwork artwork);

    /**
     * 添加艺术品
     * @param artwork
     */
    void add(Artwork artwork);

    /**
     * 修改艺术品
     * @param artwork
     */
    void edit(Artwork artwork);

    /**
     * 软删除艺术品
     * @param artwork
     */
    void delete(Artwork artwork);

    void addToRelative(Artwork artwork);

    void removeArtworkRelative(Artwork artwork);

    IPage<Artwork> getPageRelative(Integer currentPage, Integer size, Artwork artwork);

    IPage<Artwork> getPageNoRelative(Integer currentPage, Integer size, Artwork artwork);

    IPage<Artwork> getPageNoRelativeOnline(Integer currentPage, Integer size, Artwork artwork);

    void addToOnlineRelative(Artwork artwork);

    IPage<Artwork> getPageRelativeOnline(Integer currentPage, Integer size, Artwork artwork);

    void deleteByArtistId(String artistId);
}
